
function submitForm(url, method, items) { // items: 要提交的 项目ID 列表
    var data = {};
    for(let value of items) {
        var elem = document.getElementById(value);
        if (!elem) continue;
        if (elem.type === "checkbox"){
            data[value] = elem.checked ? 'on' : 'off';
        }else{
            data[value] = elem.value;
        }
    }

    $.ajax({
        url: url,
        type: method,
        data: data,
        success: function(result) {
            if (result.code == 200){
                eval(result.action);
                setTimeout(() => {
                    $("#buttonSubmit").after("<span id='notification'> <b>成功</b></span>");
                }, 100);
                setTimeout(() => {
                    $("#notification").remove();
                }, 1000);
            }else{
                $("#buttonSubmit").after(`<span id='notification'> <b>失败, 错误信息: ${result.msg}</b></span>`);
                setTimeout(() => {
                    $("#notification").remove();
                }, 3000);
            }
        }
    });
}


// 计算文本长度
var textWidth = function(text){ 
    var sensor = $("<pre class='data'>"+ text +'</pre>').css({display: 'none'}); 
    $("body").append(sensor); 
    var width = sensor.width();
    sensor.remove(); 
    return width;
};
presetWidth = textWidth('---------');
// input 文本框宽度自适应
$(".adaptiveWidth").unbind('keydown').bind('keydown input change propertychange', function(){
	$(this).width( Math.max( textWidth($(this).val()), presetWidth) ); // 以 ------ 的宽度为最小宽度
});

$(document).ready(function(){
    // 初始化 input 框宽度
    $("input").width( presetWidth );

    /**
     * 初始化输入框宽度
     * @param {Array} sign [String] 用于 jQuery 的选择器
     */
    function initInputWidth(sign) {
        for(let item of sign){
            $(item).width( Math.max( textWidth($(item).val()), presetWidth) );
        }
    }

    if (window.location.pathname === '/create'){ /* 若为 /create 页面 */
        initInputWidth(["#summary", "#taskNote"]);
    } else if(window.location.pathname === "/submit"){ /* 若为 /submit 页面 */
        initInputWidth(["#logNote", "#taskNote", "#taskData", "taskData"]);

        // 无 Log ID 时禁止填入 结束时间
        if ($("#logID").val() == ''){
            $('#endTime').attr("readonly", true);
        }


        $("input[name='logStatus']").on("change", function () {
            var change = $("input[name='logStatus']").is(':checked'); //checkbox选中判断
            if (change) {
                //$('#buttonSubmit').after('<b id="warnArchiveLog"> 警告: 准备存档日志数据</b>');
                $('#buttonSubmit').text("存档日志");
                $('#doneFlagLabel').show();
            } else {
                //$("#warnArchiveLog").remove();
                $('#buttonSubmit').text("提交更新");
                $('#doneFlagLabel').hide();
                $("input[name='doneFlag']").prop("checked", false);
                $("#warnCloseTask").remove();
            }
        });
        // 任务关闭警告
        $('#doneFlagLabel').hide();
        $("input[name='doneFlag']").on("change", function () {
            var change = $("input[name='doneFlag']").is(':checked'); //checkbox选中判断
            if (change) {
                $("#buttonSubmit").after('<div id="warnCloseTask"><br /><b>警告: 准备关闭任务, 请确认该任务已全部完成</b></div>')
            } else {
                $("#warnCloseTask").remove();
            }
        })
    }
});
